home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 September / CHIP Eylül 1998.iso / Slackwar / zipslack / README.ppa < prev    next >
Encoding:
Text File  |  1997-04-18  |  5.4 KB  |  120 lines

  1. README.ppa (c) 1996   Grant R. Guenther,  grant@torque.net
  2.  
  3.  
  4.          The IOMEGA PPA3 parallel port SCSI Host Bus Adapter
  5.  
  6.                      as embedded in the ZIP drive
  7.  
  8.  
  9. This README documents the Linux support for the parallel port version of
  10. IOMEGA's ZIP100.  The ZIP100 is an inexpensive and popular, but relatively 
  11. low performance, removable medium disk device.  The drive is also available
  12. as a regular SCSI device, but the driver documented here is for the
  13. parallel port version.  IOMEGA implemented the parallel port version by
  14. integrating (or emulating ?) their PPA3 parallel to SCSI converter into
  15. the ZIP drive.
  16.  
  17. I have implemented a low-level driver, ppa.c,  for this parallel port 
  18. host bus adapter, thereby supporting the parallel port ZIP drive as a 
  19. regular SCSI device under Linux.
  20.  
  21. It is possible that this driver will also work with the original PPA3
  22. device (to access a CDrom, for instance). But, the PPA3 is hard to find 
  23. and costs as much as the ZIP drive itself, so no-one has actually tried
  24. this, to the best of my knowledge.
  25.  
  26. The driver was developed without the benefit of any technical specifications 
  27. for the interface.  Instead, a modified version of DOSemu was used to 
  28. monitor the protocol used by the DOS driver, 'guest.exe', for this adapter.
  29. I have no idea how my programming model relates to IOMEGA's design.
  30. (One technical consequence of this method:  I have never observed a
  31. SCSI message byte in the protocol transactions between guest.exe and
  32. the ZIP drive, so I do not know how they are delivered.  My working 
  33. hypothesis is that we don't have to worry about them if we don't
  34. send linked commands to the drive.)
  35.  
  36. I'd like to thank Byron Jeff (byron@cc.gatech.edu) for publishing his
  37. observation that the 'guest' driver loads under DOSemu.  His remark was
  38. the stimulus that began this project.
  39.  
  40. The ppa driver can detect and adapt to 4- and 8-bit parallel ports, but 
  41. there is currently no support for EPP or ECP ports, as I have been unable 
  42. to make the DOS drivers work in these modes on my test rig.
  43.  
  44. The driver may be built in to the kernel, or loaded as a module.  It
  45. may be configured on the command line in both cases, although the syntax
  46. is different.  It may also be configured by editing the source file.
  47.  
  48. Built-in drivers accept parameters using this LILO/LOADLIN command line
  49. syntax (omitted parameters retain their default values):
  50.  
  51.         ppa=base[,speed_high[,speed_low[,nybble]]]
  52.  
  53. For example:    ppa=0x378,0,3
  54.  
  55. If a driver is loaded as a module the parameters may be set on the
  56. insmod command line, but each one must be specified by name:
  57.  
  58. For example:    insmod ppa.o ppa_base=0x378 ppa_nybble=1
  59.  
  60. (Notice the ppa_ prefix on each of the parameters in the insmod form.)
  61.  
  62. Here are the parameters and their functions:
  63.  
  64. Variable        Default    Description
  65.  
  66. ppa_base        0x378   The base address of PPA's parallel port.
  67. ppa_speed_high  1       Microsecond i/o delay used in data transfers
  68. ppa_speed_low   6       Microsecond delay used in other operations
  69. ppa_nybble      0       1 to force the driver to use 4-bit mode.
  70.  
  71. A word about the timing parameters:  the ppa_speed_low parameter controls 
  72. the widths of a large number of pulses that are sent over the parallel bus, 
  73. the narrower the pulses, the faster things go, but the greater the risk of 
  74. distortion by noise damping circuits in the parallel ports.  The 
  75. ppa_speed_high parameter controls the same delays, but during the data 
  76. transfer phase only.   In this phase, there is a lot of handshaking going 
  77. on and the pulse shaping should not be so much of an issue, but if you 
  78. see data corruption, you can increase this parameter as well.
  79.  
  80. You might also want to reduce the timing values to attempt to increase
  81. the transfer rates on your system.  Please be careful to watch for
  82. SCSI timeout errors in your log files.  If you are getting timeouts, you
  83. have set these parameters too low.  The default values appear to be
  84. safe on most machines.
  85.  
  86. If you have both the lp and ppa drivers in your kernel, you must ensure
  87. that they access different parallel ports.  By default, the lp driver is
  88. initialised early in the booting process, and it claims all parallel
  89. ports that it can find.  You may control this behaviour with a LILO or
  90. LOADLIN command line argument of the form:
  91.  
  92.         lp=base0[,irq0[,base1[,irq1[,base2[,irq2]]]]]
  93.  
  94. For example:    lp=0x278,7
  95.  
  96. If you use this method, only the ports named will be adopted by the lp
  97. driver.  You can disable them all with lp=0 .
  98.  
  99. So, if you have a printer on 0x3bc and a ZIP drive on 0x278 you would
  100. give the following options on your boot command:
  101.  
  102.         lp=0x3bc ppa=0x278
  103.  
  104. In this case lp would use the polling driver, since an interrupt was not 
  105. specified.
  106.  
  107. If you want to share the same parallel port between a ZIP drive and a
  108. printer, you should build both the lp and ppa drivers as modules and
  109. load and unload one or the other as required.  This is clumsy but we
  110. currently have no protocol for synchronising access to shared parallel
  111. ports.
  112.  
  113. For information about using the ZIP drive, please read the generic
  114. instructions in the SCSI-HOWTO and the man pages for the normal disk
  115. management tools,  fdisk, mkfs, mount, umount, etc.  There is a mini-HOWTO
  116. circulating concerning the use of the normal SCSI version of the ZIP
  117. drive, most of its comments will apply to disks connected through the
  118. ppa driver as well.
  119.  
  120.